import request from "@/utils/request";

// 软件信息项
export interface SoftwareInfo {
  名称: string;
  版本: string;
  校验码: string;
  日期: string;
}

// CPU信息项
export interface CpuInfo {
  名称: string;
  版本: string;
  校验码: string;
  日期: string;
}

// 虚端子信息项
export interface VirtualTerminalInfo {
  名称: string;
  版本: string;
  校验码: string;
  日期: string;
}

// 装置详细信息项
export interface DeviceDetailInfo {
  装置型号: string;
  装置名称: string;
  软件版本: string;
  程序校验码: string;
  程序日期: string;
  ICD版本: string;
  ICD校验码: string;
  CID版本: string;
  CID校验码: string;
  CCD版本: string;
  CCD校验码: string;
}

// 装置基本信息项
export interface DeviceBasicInfo {
  装置名称: string;
  装置标识码: string;
}

// 管理单信息项
export interface ManagementInfo {
  管理单名称: string;
}

// 完整的设备信息响应类型
export type DeviceInfoResponse = [
  SoftwareInfo[], // 软件信息数组
  CpuInfo[], // CPU信息数组
  VirtualTerminalInfo[], // 虚端子信息数组
  DeviceDetailInfo[], // 装置详细信息数组
  DeviceBasicInfo[], // 装置基本信息数组
  ManagementInfo[], // 管理单信息数组
];

export const HMI_DEVINFO_API = {
  getDeviceInfo: () => {
    return request<any, DeviceInfoResponse>({
      url: "/api/devinfo/1",
      method: "get",
    });
  },
};
